package geekstudy.week3;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
 * 589. N 叉树的前序遍历
 *
 * 执行结果： 通过  显示详情
 *
 * 添加备注
 * 执行用时：2 ms, 在所有 Java 提交中击败了45.99% 的用户
 * 内存消耗：39.3 MB, 在所有 Java 提交中击败了49.44% 的用户
 *
 */
public class Week3NAryTreePreorderTraversal {


    public List<Integer> preorder(Node root) {
        List<Integer> preOrderList = new ArrayList<Integer>();

        if(root != null) {
            preOrderList.add(root.val);
            if(root.children != null && root.children.size() > 0) {
                for(Node child : root.children) {
                    List<Integer> childList = preorder(child);
                    preOrderList.addAll(childList);
                }
            }

        }

        return preOrderList;
    }
}
